home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / share / doc / pm-utils / HOWTO.modules < prev    next >
Text File  |  2009-10-06  |  2KB  |  50 lines

  1. How to write a sleep module:
  2.  
  3. OVERVIEW:
  4. Sleep modules are POSIX-compatible shell scripts designed to be sourced by
  5. the pm-utils machinery in order to check that the machine supports a sleep
  6. method and to actually enter that method. Sleep modules can be stacked, which
  7. means that some care must be taken to write a sleep module.  The basic rules 
  8. are as follows:
  9.  
  10. 1: Check to see if someone else has already implemented your sleep method.
  11.    If they have, you should do nothing.
  12.  
  13. 2: Check to see if your sleep method is applicable to this system.  If it
  14.    is not, you should do nothing.
  15.  
  16. 3: If no other module has claimed your sleep method and this system is capable
  17.    of performing your sleep method, then go ahead and define the function that
  18.    implements your sleep method.
  19.  
  20. As an example of how to do things, take a look at pm/module.d/uswsusp, which
  21. implements all three sleep methods and shows how to use the module helper 
  22. functions add_before_hooks and add_module_help.
  23.  
  24. Currently, three sleep methods are supported:
  25.  
  26. SUSPEND:
  27.     Suspend (also known as suspend-to-ram) is the sleep mode equivalent
  28. to ACPI S3 -- state is saved in system memory, and all other hardware is either
  29. powered off or in power-saving mode.  
  30.  
  31. Your sleep module must implement do_suspend if you support suspend to ram.
  32.  
  33. HIBERNATE:
  34.     Hibernate (also know as suspend-to-disk) is the sleep mode equivalent
  35. to ACPI S4 -- the system state is saved to permanent media (like a hard drive),
  36. and the system is either in a very low-power use mode or completly powered off.
  37.  
  38. Your sleep module must implement do_hibernate if you support suspend to disk.
  39.  
  40. SUSPEND_HYBRID:
  41.     suspend_hybrid is a blend of suspend and hibernate.  It performs all
  42. the tasks needed to put the system into hibernate mode (including writing the
  43. memory image to disk), and then puts the system into suspend mode.  If
  44. implemented porperly, this should provide the convienence of the resume speed
  45. of suspend with the assurance that your state is saved to the hard drive if
  46. you run out of power.  If your sleep module supports suspend_hybrid, it MUST
  47. define 2 functions:
  48.  
  49. Your sleep module must implement do_suspend_hybrid if you support hybrid suspend.
  50.